
/*
  (C) 2009 Vasiliy Chekurov
*/

#ifndef KERNEL_H_INCLUDED
#define KERNEL_H_INCLUDED

#ifdef _WINDOWS
#include "windows.h"
#endif

#include "defines.h"

class Wnd;
class File;

class Kernel
{
public:
  Kernel();
  ~Kernel();

  // create for Windows
  bool Open(HINSTANCE hInstance, HINSTANCE prevInstance, LPSTR lpCmdLine, int nCmdShow);
  // create for Linux
  int  Open(int argc, const char** argv);

  // run the message handling
  void Run();

  // close the window
  void Close();

private:
  Wnd* m_wnd;
  File* m_file;

};

#endif